Apache ANT-এর Properties হল ভেরিয়েবল যা বিভিন্ন বিল্ড টাস্ক বা স্টেপে ব্যবহার করা হয়। এরা সহজেই প্রজেক্টের কনফিগারেশন, পাথ, ফাইল পাথ ইত্যাদি সংরক্ষণ করতে সহায়ক। অনেক সময় প্রজেক্টে ডিফল্ট প্রপার্টি থাকতে পারে, তবে ব্যবহারকারী চাইলে তাদের মান পরিবর্তন করতে পারেন। Properties Override এর মাধ্যমে আপনি সহজে পূর্বনির্ধারিত প্রপার্টি পরিবর্তন বা অতিক্রম করতে পারেন।
ANT এ Properties মূলত ভেরিয়েবল যা বিল্ড প্রক্রিয়ার মধ্যে বিভিন্ন মান রাখতে এবং ব্যবহার করতে সাহায্য করে। এগুলি সাধারণত build.xml
ফাইলে <property>
ট্যাগের মাধ্যমে সেট করা হয়।
উদাহরণ:
<property name="output.dir" value="build"/>
এখানে, output.dir
প্রপার্টি মান build
।
ANT প্রপার্টিগুলি কমান্ড লাইনে নির্দিষ্ট মান দিয়ে override করা যায়। এই পদ্ধতি দ্বারা, আপনি build.xml
ফাইলে নির্দিষ্ট প্রপার্টি ছাড়া অন্য কোন মান সেট করতে পারবেন।
কমান্ড উদাহরণ:
ant -Doutput.dir=dist
এটি build.xml
ফাইলে থাকা output.dir
প্রপার্টির মান পরিবর্তন করে dist
করে দিবে। কমান্ড লাইনে যেই প্রপার্টি ও মান উল্লেখ করা হয়, তা ঐ প্রকল্পের build.xml
ফাইলে থাকা ডিফল্ট প্রপার্টির মানকে অতিক্রম (override) করবে।
build.xml
উদাহরণ:
<project name="MyProject" basedir="." default="build">
<property name="output.dir" value="build"/>
<target name="build">
<echo message="Output Directory: ${output.dir}"/>
</target>
</project>
এটি ডিফল্টভাবে build
ফোল্ডারকে output.dir
হিসেবে ব্যবহার করবে। তবে, উপরের কমান্ডে আপনি output.dir=dist
দিলে আউটপুট dist
ফোল্ডারে হবে।
অন্য একটি উপায় হল properties file ব্যবহার করে প্রপার্টি সেট করা, এবং সেই ফাইল থেকে প্রপার্টি রিড করে override করা।
প্রথমে একটি প্রপার্টি ফাইল তৈরি করুন:
myproperties.properties
:
output.dir=dist
এখন, build.xml
ফাইলে এটি ইমপোর্ট করুন এবং প্রপার্টি ব্যবহার করুন:
build.xml
:
<project name="MyProject" default="build">
<property file="myproperties.properties"/>
<target name="build">
<echo message="Output Directory: ${output.dir}"/>
</target>
</project>
এখানে, output.dir
এর মান myproperties.properties
ফাইল থেকে আসবে এবং dist
হবে।
যদি আপনি build.xml
ফাইলে একটি ডিফল্ট প্রপার্টি সেট করেন এবং পরে সেটি কমান্ড লাইন বা প্রপার্টি ফাইলের মাধ্যমে override করেন, তাহলে শেষে যে মান সেট করা হয় সেটিই ব্যবহার হবে।
build.xml
উদাহরণ:
<project name="MyProject" default="build">
<property name="output.dir" value="build"/>
<target name="build">
<echo message="Output Directory: ${output.dir}"/>
</target>
</project>
এখন যদি আপনি কমান্ড লাইনে প্রপার্টিটি override করেন:
ant -Doutput.dir=dist
তাহলে আউটপুট হবে:
Output Directory: dist
এটি দেখায় যে build.xml
ফাইলে output.dir
এর ডিফল্ট মান ছিল build
, কিন্তু কমান্ড লাইনে -Doutput.dir=dist
ব্যবহার করার ফলে এটি পরিবর্তিত হয়ে dist
হয়েছে।
build.xml
) প্রপার্টি সেট করেন, তবে শেষে সেট করা মানটি সর্বাধিক অগ্রাধিকার পাবে।ant.file
, ant.version
ইত্যাদি। তবে, সাধারণত প্রজেক্টের প্রপার্টিগুলি আপনি freely override করতে পারবেন।নিচে একটি উদাহরণ দিয়ে দেখানো হলো কিভাবে প্রপার্টি override
করা যায়:
build.xml
:
<project name="OverrideExample" default="build">
<property name="output.dir" value="build"/>
<target name="init">
<echo message="Initialization: ${output.dir}"/>
</target>
<target name="build" depends="init">
<echo message="Building to directory: ${output.dir}"/>
</target>
</project>
এখন যদি আপনি কমান্ড লাইনে এটি override করেন:
ant -Doutput.dir=dist build
তাহলে আউটপুট হবে:
Initialization: dist
Building to directory: dist
এটি প্রমাণ করে যে output.dir
প্রপার্টির মান dist
হয়েছে, যেটি কমান্ড লাইনের মাধ্যমে override করা হয়েছে।
-Dproperty=value
.properties
ফাইল ব্যবহারbuild.xml
ফাইলে প্রপার্টি সেট করা।common.read_more